package com.ruoyi.report_ljlm.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_ljlm.domain.vo.WcbgBsDetailVo;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 贝克曼梁测定回弹弯沉试验检测报告业务对象 report_ljlm_wcbg_bs_info
 *
 * @author llb
 * @date 2024-07-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class WcbgBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 报告编号
     */
    @NotBlank(message = "报告编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baogbh;

    /**
     * 施工/委托单位
     */
    @NotBlank(message = "施工/委托单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shigwtdw;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotBlank(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 湿度影响系数
     */
    @NotNull(message = "湿度影响系数不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shidyxxs;

    /**
     * 温度影响系数
     */
    @NotNull(message = "温度影响系数不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal wendyxxs;

    /**
     * 路段桩号
     */
    @NotBlank(message = "路段桩号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ludzh;

    /**
     * 弯沉仪类型
     */
    @NotBlank(message = "弯沉仪类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String wancylx;

    /**
     * 后轴重(kN)
     */
    @NotNull(message = "后轴重(kN)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal houzz;

    /**
     * 测试车车型
     */
    @NotBlank(message = "测试车车型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cesccx;

    /**
     * 结构层类型
     */
    @NotBlank(message = "结构层类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiegclx;

    /**
     * 轮胎压强(MPa)
     */
    @NotNull(message = "轮胎压强(MPa)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal luntyq;


    /**
     * 设计弯沉(0.01mm)
     */
    @NotNull(message = "设计弯沉(0.01mm)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shejwc;

    /**
     * 前五天平均气温(°C)
     */
    @NotNull(message = "前五天平均气温(°C)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal pingjwd;

    /**
     * 检验用弯沉仪最大读数(0.01mm)
     */
    @NotNull(message = "检验用弯沉仪最大读数(0.01mm)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuidds;

    /**
     * 检验用弯沉仪最终读数(0.01mm)
     */
    @NotNull(message = "检验用弯沉仪最终读数(0.01mm)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuizds;

    /**
     * 测点数
     */
    @NotBlank(message = "测点数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ceds;

    /**
     * 平均回弹弯沉值
     */
    @NotBlank(message = "平均回弹弯沉值不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pingjhtwcz;

    /**
     * 标准差
     */
    @NotBlank(message = "标准差不能为空", groups = { AddGroup.class, EditGroup.class })
    private String biaozc;

    /**
     * 有效点数
     */
    @NotBlank(message = "有效点数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String youxds;

    /**
     * 弯沉代表值
     */
    @NotBlank(message = "弯沉代表值不能为空", groups = { AddGroup.class, EditGroup.class })
    private String wancdbz;

    /**
     * 结果判定
     */
    @NotBlank(message = "结果判定不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiegpd;

    /**
     * 检测结论
     */
    @NotBlank(message = "检测结论不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancjl;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bgFlag;

    /**
     * 检测
     */
    @NotBlank(message = "检测不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jianc;

    /**
     * 记录
     */
    @NotBlank(message = "记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jil;

    /**
     * 复核
     */
    @NotBlank(message = "复核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuh;

    /**
     * 日期
     */
    @NotBlank(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String riq;

    /**
     * 设备ids
     */
    @NotBlank(message = "设备ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 判断依据ids
     */
    @NotBlank(message = "判断依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    private List<WcbgBsDetailVo> detailList;

    /**
     * 公路等级
     */
    @NotBlank(message = "公路等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongldj;

    /**
     * 沥青面层厚度
     */
    @NotNull(message = "沥青面层厚度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liqmchd;
}
